home *** CD-ROM | disk | FTP | other *** search
/ IBM Aptiva Multimedia Exploration CD / Aptiva DEMO CD.iso / dos63 / tutorial.lst < prev    next >
File List  |  1993-12-31  |  26KB  |  556 lines

  1.  
  2.  
  3. Introduction to computer viruses 
  4. --------------------------------
  5.  
  6. This section gives a brief introduction to computer viruses: what they
  7. are, how they can spread, and what they can do. 
  8.  
  9.  
  10. What is a computer virus? 
  11. _________________________
  12.  
  13. A computer virus is a program that can "infect" other programs by
  14. modifying them to include a (possibly "evolved") copy of itself. 
  15.  
  16. Viruses can spread themselves, without the knowledge or permission of the
  17. workstation users, to potentially large numbers of programs on many
  18. machines. Viruses can also contain instructions that cause damage or
  19. annoyance; the combination of possibly-damaging code with the ability to
  20. spread is what makes viruses a considerable concern. 
  21.  
  22. Viruses are not mysterious. They are just computer programs and only do
  23. things that programs can do. However, unlike most other programs, they
  24. are specifically designed to spread themselves. 
  25.  
  26. Viruses can often spread without any readily visible symptoms. When a
  27. virus is started on a workstation, it can run any instructions that its
  28. author chooses to include. These instructions can be event-driven effects
  29. (for example, triggered after a specific number of executions),
  30. time-driven effects (triggered on a specific date, such as Friday the
  31. 13th or April 1st), or can occur at random. 
  32.  
  33. Depending on the motives of the virus author, a virus can contain no
  34. intentionally harmful or disruptive instructions. Or, it can cause damage
  35. simply by replicating itself and taking up scarce resources, such as hard
  36. disk space, CPU time, or network connections. Some typical things that
  37. some current Personal Computer (PC) viruses do are: 
  38.  
  39. * Display a message. 
  40. * Erase files. 
  41. * Scramble data on a hard disk. 
  42. * Cause erratic screen behavior. 
  43. * Halt the PC. 
  44.  
  45. Many viruses do nothing obvious at all except spread! You cannot rely on
  46. strange behavior to find viruses. The most reliable way to find viruses
  47. is to use competent anti-virus software as discussed later. 
  48.  
  49. The idea of computer viruses was first developed in its current form in
  50. 1983. Since then, people have written many viruses. Viruses are a
  51. relatively new problem and require some new approaches to deal with them
  52. effectively. 
  53.  
  54. Although it is possible to write a virus for virtually any computer, the
  55. viruses that are commonly spreading in the world today are limited to
  56. microcomputers. There are no known viruses in circulation that run in
  57. native sessions of IBM's OS/2, AIX, VM, MVS or OS/400 operating systems.
  58. Any of these operating systems that run PC-DOS programs are capable
  59. though, of spreading PC-DOS viruses, including DOS sessions of OS/2 and
  60. the DOS Emulation Mode of AIX. 
  61.  
  62. Infected files can be stored almost anywhere. They can be stored as files
  63. on servers (such as OS/2 LAN servers, AIX LAN servers, or OS/400 network
  64. "folders"). Even when they cannot run on the server machine, an infected
  65. file on the server can be run by DOS machines on the network and can
  66. spread the infection to them. 
  67.  
  68.  
  69. How do virus infections start? 
  70. ______________________________
  71.  
  72. The viruses under discussion enter organizations (such as companies and
  73. businesses) because an infected diskette or program is brought into that
  74. organization. Unlike other security problems, viruses often spread from
  75. system to system without anyone's knowledge. Viruses are usually spread
  76. within an organization by innocent people going about their normal
  77. business activities. 
  78.  
  79. Here is an example. Suppose the organization hires an outside person to
  80. come in and perform some work. Part of that person's work involves
  81. working on one of the organization's personal computers or
  82. microcomputers. The person brings in a few programs to aid in this work,
  83. such as a favorite text editor. 
  84.  
  85. Without the person having realized it, the text editor was infected by a
  86. virus. By using that editor on one of the organization's machines, the
  87. virus spread from the editor to one of the programs stored on the
  88. organization's machine, perhaps to a spreadsheet program. The virus has
  89. now entered the organization. 
  90.  
  91. Even after the outside person took their personal programs when they
  92. left, the virus remained on the machine that it infected in the
  93. spreadsheet program. When another employee used that spreadsheet
  94. subsequently, the virus spread to another program, such as a directory
  95. listing program that the employee kept on the same diskette as the
  96. spreadsheet data files. The listing program now is also infected.  The
  97. infection might spread to other computers to which this diskette disk is
  98. taken or, if the employee's personal computer is connected to the
  99. organization's network, the employee might send the listing program to
  100. another user over the network. In either case, the virus can spread to
  101. more users and more machines using diskettes or networks. Each copy of
  102. the virus can make multiple copies of itself and can infect any program
  103. to which it has access. As a result, the virus can spread widely in the
  104. organization. 
  105.  
  106. Each of the infected programs in each of the infected machines can start
  107. whatever other instructions the virus author intended. If these
  108. instructions are harmful or disruptive, the pervasiveness of the virus
  109. causes the harm to be widespread. 
  110.  
  111.  
  112. How serious is the problem? 
  113. ___________________________
  114.  
  115. Traditional security measures have attempted to limit the number of
  116. security incidents to an acceptable level. A single incident of lost
  117. files in a year might be an acceptable loss, for instance. Although this
  118. is important, it only addresses part of the problem of viruses. Because a
  119. single virus could potentially spread throughout an organization, the
  120. damage it could cause might be much greater than what could be caused by
  121. any individual computer user. The problem is that viruses modify software
  122. in an uncontrolled way, which can damage the software. In addition, some
  123. viruses actually tamper with data files and can damage the data. 
  124.  
  125. Limiting the number of initial virus infections in an organization is
  126. important, but it is often not feasible to prevent them entirely. As a
  127. result, it is important to be able to deal with them when they occur. 
  128.  
  129. The potential damage is indeed large. By using IBM AntiVirus, and
  130. following the advice given here, our experience is that most virus
  131. incidents can be managed with little difficulty. 
  132.  
  133.  
  134. Anti-virus programs 
  135. -------------------
  136.  
  137. In this section, we discuss the principles and functions of anti-virus
  138. programs. It is impossible to completely prevent systems from becoming
  139. infected as long as new programs can be introduced on them or their
  140. existing programs can be modified. It is also impossible to detect all
  141. possible viruses without error. Therefore, it is always possible for
  142. systems to become infected. It is important to plan for prevention to the
  143. extent possible but equally important to plan for containment and
  144. recovery of infections when they do occur. 
  145.  
  146.  
  147. What are anti-virus programs? 
  148. _____________________________
  149.  
  150. To understand anti-virus programs, it is useful to understand the basic
  151. behavior of known viruses. Generally, all viruses insert copies of
  152. themselves in one or more of the following: 
  153.  
  154. * Program files (typically stored on diskettes or hard disks). 
  155. * Boot records (initialization areas on diskettes or hard disks). 
  156.  
  157. Anti-virus programs take advantage of either the general characteristics
  158. of all viruses (that they change file or boot records), or
  159. characteristics of specific viruses or classes of viruses. The latter
  160. kind of program examines the system for something characteristic of
  161. either the behavior, or the appearance of specific viruses or classes of
  162. viruses. When it finds something with one of these characteristics, it
  163. can warn the user, try to prevent the virus from spreading, and so forth.
  164.  
  165.  
  166. Techniques used by anti-virus programs 
  167. ______________________________________
  168.  
  169. This section discusses some of the common techniques used by anti-virus
  170. programs-their advantages and their limitations. It is intended as a
  171. technical introduction for people who want to understand how anti-virus
  172. programs work. 
  173.  
  174.  
  175. Scanning 
  176. ________
  177.  
  178. When a virus is known and has been analyzed, it is possible to write a
  179. program that detects any file or boot record that is infected with that
  180. virus. In most cases, the detector can simply look for a pattern of bytes
  181. found in the virus but not found in normal programs. Detectors that look
  182. for these patterns of bytes are called scanners. 
  183.  
  184. For many viruses, this pattern is a simple, sequential string of fixed
  185. bytes. For other viruses, more complicated byte patterns are needed. Care
  186. must be taken to ensure that the pattern of bytes is not also found in
  187. normal programs, or the detector will report a virus when there is none. 
  188.  
  189.  
  190. Change detection 
  191. ________________
  192.  
  193. Viruses must change files or boot records in order to infect them. A
  194. program that notices when files and boot records change can be used to
  195. detect viruses even if these viruses were not previously known. But files
  196. and boot records change for many normal reasons unrelated to viruses. By
  197. itself, change detection is of limited usefulness because it requires
  198. users to understand which changes are normal and which changes indicate a
  199. virus. 
  200.  
  201.  
  202. Heuristic analysis 
  203. __________________
  204.  
  205. Heuristic analysis attempts to detect viruses by watching for appearance
  206. or behavior that is characteristic of some class of known viruses. It can
  207. look in files for operations that viruses use but that are seldom used in
  208. normal programs. Or it can watch for attempts to write to hard disks or
  209. diskettes in unusual ways. 
  210.  
  211. Like change detection, it can potentially detect whole classes of
  212. viruses, but care must be taken to ensure that normal programs are not
  213. identified as infected. 
  214.  
  215.  
  216. Verification 
  217. ____________
  218.  
  219. The above techniques can indicate that a file or boot record is infected
  220. with a virus, but by themselves they cannot be sure nor can they identify
  221. with certainty which virus it is. Programs that perform this
  222. identification task are called verifiers. Verifiers can be written for
  223. known viruses after careful analysis of them. 
  224.  
  225.  
  226. Disinfection 
  227. ____________
  228.  
  229. When a virus is found in a file or boot record, it might be possible to
  230. remove it and restore the file or boot record to its original, uninfected
  231. state. This process is called disinfection. 
  232.  
  233. Some viruses damage the files or boot records that they infect so that it
  234. is not possible to disinfect them successfully. It is also possible for
  235. two different viruses to be identified as the same virus by a scanner and
  236. for a disinfector to work correctly on one virus but not the other. 
  237.  
  238. Because disinfectors change your programs, they must be very reliable. 
  239.  
  240.  
  241. Resident and non-resident operation 
  242. ___________________________________
  243.  
  244. The techniques discussed above can be used in a variety of ways. One
  245. common way for them to be used is in programs that examine everything on
  246. your disks, trying to find and eliminate viruses. Another common use is
  247. in resident programs in DOS that are always actively monitoring your
  248. system for viruses. 
  249.  
  250. Resident programs have the advantage of checking programs for infection
  251. every time you run them. Unless they are carefully constructed, they can
  252. cause delays in program loading and execution. 
  253.  
  254. Non-resident programs have the advantage of looking for and dealing with
  255. viruses on your entire system at one time. They serve as a complementary
  256. function to resident programs. 
  257.  
  258.  
  259. Automated operation 
  260. ___________________
  261.  
  262. If users have to remember to run an anti-virus program periodically,
  263. experience has shown that they will forget, increasing their risk of
  264. infecting their systems with a virus and of spreading the virus to other
  265. systems. 
  266.  
  267. A better approach is to make sure that the anti-virus program operates
  268. automatically. Such programs protect the system without requiring you to
  269. take any explicit action. This protection can be accomplished by
  270. installing resident anti-virus programs when the system is started and by
  271. running non-resident programs, either at startup or periodically at a
  272. specified time. 
  273.  
  274.  
  275. Prevention and detection 
  276. ________________________
  277.  
  278. Detecting that a virus exists and determining what is infected are
  279. important first steps in taking corrective action in a virus incident.
  280. Preventing a virus from spreading is important in limiting the size of
  281. the infection. 
  282.  
  283.  
  284. Missing viruses and false alarms 
  285. ________________________________
  286.  
  287. In general, it is impossible to detect all viruses that might ever exist
  288. and never make mistakes. Virus detectors will always fail to detect some
  289. viruses, incorrectly claim that a normal program is infected, or both. 
  290.  
  291. This failure is not a limitation of current technology. Rather, it can be
  292. proven mathematically. Any claim that a program can detect all possible
  293. viruses and not make mistakes is untrue. 
  294.  
  295. It is possible, on the other hand, to correctly identify infections from
  296. all viruses that we currently know. It is also possible to detect large
  297. classes of viruses without making mistakes. By carefully balancing
  298. accurate detection with techniques for avoiding false alarms, the risk
  299. due to viruses can be drastically reduced. 
  300.  
  301.  
  302. Techniques used by IBM AntiVirus 
  303. ________________________________
  304.  
  305. This section discusses the techniques used by IBM AntiVirus to provide
  306. you with extremely reliable virus protection. 
  307.  
  308.  
  309. Change detection and fuzzy scanning 
  310. ___________________________________
  311.  
  312. IBM AntiVirus uses change detection for two purposes. The first purposes
  313. is as a starting point for heuristic analysis to detect new viruses,
  314. which is discussed in the next section. The second purpose is to make
  315. known virus detection faster. 
  316.  
  317. Viruses must change files or boot records in order to infect them. If a
  318. file did not have a virus yesterday when we checked it and if we know
  319. that the file has not changed, then we know that it does not have a virus
  320. today. As it is normally used, IBM AntiVirus only looks in changed and
  321. new files for the viruses that it knows about. It is faster to see if a
  322. file has changed or is new than it is to examine it for known viruses.
  323. This process speeds up the check. (All specified boot records and files
  324. are checked for changes and other features, even if they are not examined
  325. for known viruses.) 
  326.  
  327. When IBM AntiVirus looks in files and boot records for known viruses, it
  328. uses a technique called "fuzzy scanning." This scanning technology used
  329. by IBM AntiVirus looks for sequences of bytes that indicate the presence
  330. of a virus, as do most scanners. In addition, it recognizes when the
  331. sequence of bytes is almost (but not exactly) matched. An inexact match
  332. is likely to indicate the presence of a variant of a known virus, and IBM
  333. AntiVirus reports the file or boot record as probably infected when it
  334. shows you the virus infection report. You will be given the opportunity
  335. to remove any such virus. 
  336.  
  337. This technique allows IBM AntiVirus to detect, and correctly identify, a
  338. wide range of new virus variants. Without additional measures, this
  339. "fuzzy matching" could lead to more false alarms. IBM AntiVirus keeps its
  340. identifications highly reliable by advanced false alarm elimination,
  341. which is discussed in a subsequent section. 
  342.  
  343.  
  344. IBM AntiVirus Heuristic analysis 
  345. ________________________________
  346.  
  347. IBM AntiVirus is not limited to detecting viruses that we already know
  348. about. It uses heuristic analysis to detect previously unknown viruses as
  349. well. It looks for patterns of changes in files, and for features of
  350. programs, that are typical of large classes of known DOS viruses. If it
  351. finds anything that matches these criteria, IBM AntiVirus will report the
  352. files or boot records as "suspicious" when it shows you the virus
  353. infection report. You will be given the opportunity to erase/overwrite
  354. any such suspicious file. 
  355.  
  356. IBM AntiVirus heuristic analysis has been carefully designed to avoid
  357. false alarms. It does not report boot records or files as suspicious just
  358. because they have changed. Boot records and files change on computers all
  359. the time for reasons unrelated to viruses. It only reports files as
  360. suspicious if their pattern of change is typical of virus infections. 
  361.  
  362.  
  363. Verification before disinfection 
  364. ________________________________
  365.  
  366. When IBM AntiVirus finds what appears to be a known virus, it checks
  367. every relevant byte of the virus to determine that it is exactly as
  368. expected. This check is very important. If the virus can be verified to
  369. be the one expected, then the file or boot record can often be
  370. disinfected safely. If the virus turns out to be different, it might have
  371. changed the file or boot record in unexpected ways.  Attempting to
  372. disinfect it could result in a damaged file or boot record. 
  373.  
  374. IBM AntiVirus does not attempt disinfection if it will result in damaged
  375. files or boot records. Instead, it gives you the option of
  376. erasing/overwriting the infected files or boot records. In cases where
  377. disinfection could result in damaged files, but it might not, IBM
  378. AntiVirus records this fact in the log file of your IBM AntiVirus
  379. session. You can then examine these programs in more detail and determine
  380. whether you should restore them from backups. 
  381.  
  382. Some viruses damage programs that they infect and make it impossible to
  383. disinfect them safely. IBM AntiVirus recognizes these cases and deals
  384. with them properly. When it disinfects files and boot records, IBM
  385. AntiVirus does everything it can to make sure you are not left with
  386. malfunctioning programs. 
  387.  
  388.  
  389. Thorough examination 
  390. ____________________
  391.  
  392. When you do an initial check for viruses, you might be checking only some
  393. of the files or drives on your system. For instance, you might check only
  394. program files, because viruses do not typically infect any other files.
  395. Checking only program files is how IBM AntiVirus is normally used and is
  396. a good way to minimize the time it takes to do an initial check. 
  397.  
  398. If the initial check finds a virus, it is possible there are files  you
  399. have not yet checked that are also infected. When you do not find all of
  400. the infected files and boot records, it is very likely the virus will
  401. continue to spread on your system and perhaps spread to other systems as
  402. well. 
  403.  
  404. When IBM AntiVirus finds a virus during the initial check, it can then
  405. check your entire system thoroughly. It checks all files on all local
  406. fixed disks, even if they have not changed, and lets you eliminate any
  407. viruses found. 
  408.  
  409. If your system is infected, it is likely that the virus came from a
  410. diskette recently or that you have accidentally spread the virus to a
  411. diskette. IBM AntiVirus reminds you to check all diskettes that you might
  412. have used recently, and lets you eliminate any viruses you find on them.
  413. This check is an important step to take to stop the local spread of the
  414. virus. 
  415.  
  416.  
  417. Install and forget operation 
  418. ____________________________
  419.  
  420. IBM AntiVirus is designed to do the correct thing automatically. You do
  421. not need to develop a detailed understanding of viruses or anti-virus
  422. technology for IBM AntiVirus to protect your system. 
  423.  
  424. Unless you change the default settings for IBM AntiVirus your system will
  425. be checked periodically for viruses, and known viruses that attempt to
  426. spread in DOS will be detected and stopped. You are notified of any
  427. viruses that are found, and are given recommendations about what to do. 
  428.  
  429.  
  430. Advanced false alarm elimination 
  431. ________________________________
  432.  
  433. Anti-virus programs should both reduce the risk of your system being
  434. affected by a virus and avoid bothering you if you do not have a virus.
  435. IBM AntiVirus uses a variety of techniques to ensure that known viruses
  436. are found and removed reliably and that variants and unknown viruses are
  437. likely to be found as well. 
  438.  
  439. IBM has gone to great lengths to eliminate false alarms from IBM
  440. AntiVirus. IBM AntiVirus is tested on a collection of several hundred
  441. megabytes of normal (uninfected) programs to help ensure that common
  442. programs are not identified as infected. However, this is not enough. It
  443. is impossible to have every program in the world in this collection so
  444. there might be a program somewhere that causes problems. 
  445.  
  446. To help solve this problem, IBM has developed an advanced statistical
  447. model to characterize what normal programs look like. All virus search
  448. patterns used by IBM AntiVirus are tested against this model and any that
  449. have too high a chance of being found in normal programs are rejected,
  450. even if they are not found in any of the normal programs in the test
  451. collection. 
  452.  
  453. Finally, IBM's internal Personal Computers (PCs) are used as a test
  454. population. IBM has over 250,000 PCs. We test IBM AntiVirus on a large
  455. number of these PCs before releasing it to help ensure that any problems
  456. are found and corrected before you ever see them. 
  457.  
  458.  
  459. DOS shielding 
  460. _____________
  461.  
  462. DOS viruses that infect program files spread when those programs are
  463. started under DOS. If you have installed DOS shielding, IBM AntiVirus
  464. will warn you when a program that you are running is infected with
  465. common, known viruses. In addition, it prevents these viruses from
  466. spreading and lets you run the program as if it was not infected at all. 
  467.  
  468. This has two important benefits. First, you can usually run your critical
  469. applications even if you have just discovered that they are infected. It
  470. is not necessary to shut down your system and deal with the virus
  471. immediately (though it is a good idea). Second, you can usually run IBM
  472. AntiVirus from your fixed disk, even if the system is infected. It is
  473. seldom necessary to shut your system down and restart from a diskette to
  474. handle a virus infection. Instead, you can tell IBM AntiVirus to remove
  475. the virus and quickly go on with what you were doing. This ability makes
  476. it more likely that the infection is taken care of quickly and safely. 
  477.  
  478. To view the list of viruses that IBM AntiVirus knows about, select Virus
  479. descriptions from the Help pull-down on the main window. Then select List
  480. of viruses detected by IBM AntiVirus from the help screen. Viruses that
  481. are prevented by the shield are marked on this list. 
  482.  
  483.  
  484. Intelligent incident management 
  485. _______________________________
  486.  
  487. IBM AntiVirus is based on IBM's years of experience in handling virus
  488. incidents around the world. Dealing with viruses correctly and safely
  489. without the proper training can be difficult. We have built our
  490. anti-virus expertise right into IBM AntiVirus so that you can protect
  491. your systems from viruses without becoming a virus expert. 
  492.  
  493. IBM AntiVirus provides default settings that offer the right protection
  494. for most systems. If a virus is found, IBM AntiVirus will lead you
  495. through the proper steps to remove the virus from your system. 
  496.  
  497.  
  498. IBM AntiVirus products and services 
  499. -----------------------------------
  500.  
  501. IBM AntiVirus products and services are available in several countries
  502. around the world. The details of IBM AntiVirus Services differ from
  503. country to country; they typically offer: 
  504.  
  505. * Site licenses for IBM AntiVirus/DOS and IBM AntiVirus/2, including
  506.   regular updates. 
  507. * Support for distributing and installing IBM AntiVirus from LAN servers.
  508.   
  509. * Support for restricting end users from having IBM AntiVirus remove
  510.   viruses, while permitting anti-virus personnel to do so. 
  511. * Site license for the IBM Virus Information Manual, a document that
  512.   describes known viruses and discusses successful enterprise strategies
  513.   for limiting their spread. 
  514. * Assistance in managing virus incidents. 
  515.  
  516. For more information, please consult the list below. In countries that
  517. are not yet listed, please contact your IBM Marketing Representative for
  518. more information. 
  519.  
  520.  
  521. Canada          For information on IBM AntiVirus Services, call (416)
  522.                 946-3786. 
  523. Denmark         For information on IBM AntiVirus Services, call (+45) 45
  524.                 93 45 45. 
  525. Netherlands     For information on IBM AntiVirus Services, call ++31 30
  526.                 383816. 
  527. United Kingdom  For information on IBM AntiVirus Services, call
  528.                 Basingstoke (0256) 344558. 
  529. United States   For single copies of IBM AntiVirus/DOS or IBM
  530.                 AntiVirus/2, call (800) 551-3579. For information on site
  531.                 licensing and IBM AntiVirus Services, call (800)
  532.                 742-2493. 
  533.                 
  534.  
  535.  
  536. For further reading 
  537. -------------------
  538.  
  539. The following recommended reading is for those who want more information
  540. about viruses and related topics: 
  541.  
  542.  1. Fred Cohen, "Computer Viruses: Theory and Experiment", Computers and
  543.     Security, Vol. 6 (1987) pp. 22-35. This is the first paper that
  544.     defined viruses in the form that they appear today. 
  545.  2. Communications of the ACM, Vol. 32 No. 6 (June 1989) has several good
  546.     articles on the Internet Worm incident. 
  547.  3. Lance J. Hoffman (ed.), Rogue Programs: Viruses, Worms, and Trojan
  548.     Horses, Van Nostrand Reinhold, New York (1990), ISBN 0-442-00454-0.
  549.     This book is a very good collection of articles spanning many aspects
  550.     of the virus problem. 
  551.  4. Virus Bulletin, published by Virus Bulletin, Ltd.; 21 The Quadrant;
  552.     Abingdon Science Park; Abingdon, Oxfordshire OX143YS; England, UK.
  553.     This monthly newsletter can help technical personnel keep up with the
  554.     PC virus field. 
  555.  
  556.